1. Field of the Invention
This invention relates generally to managing electronic data, and, more particularly, to bi-directionally mapping between at least two data models.
2. Description of the Related Art
As information technology has matured, computing systems have evolved into what are now known as “enterprise computing systems.” An enterprise computing system is typically a large number of computing and storage devices that are employed by users from a single concern, or “enterprise.” One popular type of enterprise computing system is an “intranet,” which is a computing system that operates like the Internet, but requires special authorization to access. Such access is typically only granted to employees and/or contractors of the enterprise. However, not all enterprise computing systems are intranets or operate along the principles of the Internet.
One desirable characteristic of enterprise computing systems is relatively large repositories of information that are readily accessible. Members of the enterprise can access the same information from widely diverse locations and the enterprise computing system may need only to keep one copy of that information. The single copy, or limited numbers of copies, greatly simplifies information management. For instance, if one user accesses, uses, and changes the information, the information manager does not need to propagate those changes across multiple copies of the information. The single copy also facilitates maintenance of information coherency by taking precautions for multiple users of a single copy instead of multiple users of multiple copies.
Enterprise computing systems suffer limitations and disadvantages because they typically evolve over time in a patchwork fashion. Sometimes the development is prompted by changes in technology. For instance, a new computing technology may impart a new capability particularly useful in a part of an organization's operation. Thus, that part of the organization may acquire that particular technology, whereas some other part of the organization may not. Other times, the development may be prompted by changes in the organization's structure. For example, a corporation may acquire another company, or a part of another company. The acquisition will frequently include the computing resources, which may then need to be integrated into the acquiring organization's computing system. These computing resources may be vastly different from those of the existing enterprise computing system.
Maintaining the coherency of the enterprise computing system is one facet of “business integration.” To leverage the advantages of the enterprise computing system, the structure and capabilities should be transparent to the user. Additionally, data should be compatible with applications. However, the scale of an enterprise computing system makes it difficult to operate transparently in this fashion, but information managers continually strive to achieve this goal. Furthermore, this goal is not limited to enterprise computing systems, but to computing systems of all scales and complexities.
One problem in this respect is the proliferation of data models. For example, one enterprise system may store customer data in XML (“Extensible Markup Language”) format and store the customer name as one single, large field. Another enterprise system may store customer information in EDI (“Electronic Data Interchange”) format and separate the customer's first, middle, and last names into separate fields. The format (e.g., XML, EDI) and structure (one field, multiple fields) define the data models in this example. Note that XML and EDI are two examples among many formats in which data can be formatted. Should one enterprise system merge with the other, it would be desirable for the various computing resources to successfully access the various customer data regardless of the data model.
One approach is to manually code a “map” between the two different data formats. This map would delineate between style and content of the data in the two formats and correlate the content of the fields. Thus, a user or application expecting to receive data in a first format (e.g., XML) can employ the map to read the data in a second format (e.g., EDI). However, manual coding can be labor intensive and undesirably expensive. It is also difficult to understand the relationship between the two coding techniques.
The industry has consequently searched for alternative solutions. For instance, a standards setting group called World Wide Web Consortium (or, “W3C”) developed the XSL (“Extensible Style Language”) specification for separating style from content when creating HTML (“Hyper Text Markup Language”) or XML pages. The specification works like a template, allowing designers to apply single style documents to multiple pages giving the ability to transform multiple instances of a document type in a formalized manner. A variety of mapping tools employ XSL to transform a version of an XML document into another version of an XML document. Examples include the Microsoft® BizTalk Editor™, WBI Object Mapping Utility, and WSAD SML mapping tools.
However, these solutions map in only one direction (e.g., EDI to XML, but not XML to EDI) and are, therefore, not suitable for business integration. To access data in either direction, multiple maps must be created and accessed, which traditionally has been very tedious and difficult to implement because a customized map may have to be defined directly in code, such as straight XSL. In the effort to integrate, for example, an enterprise computing system, these maps and their use can constitute significant overhead to the operation of the computing system. This overhead could be reduced by a reduction in the number of maps.
The present invention is directed to addressing the effects of, one or more of the problems set forth above.